Context-sensitive musical performances have become a key component of electronic and multimedia products such as stand-alone video games, computer based video games, computer based slide show presentations, computer animation, and other similar products and applications. As a result, music generating devices and/or music playback devices have been more highly integrated into electronic and multimedia products.
Previously, musical accompaniment for multimedia products was provided in the form of pre-recorded music that could be retrieved and performed under various circumstances. Using pre-recorded music for providing context-sensitive musical performances has several disadvantages. One disadvantage is that the pre-recorded music requires a substantial amount of memory storage. Another disadvantage is that the variety of music that can be provided using this approach is limited due to memory constraints. Thus, the musical accompaniment for multimedia devices utilizing this approach is wasteful of memory resources and can be very repetitious.
Today, music generating devices are directly integrated into electronic and multimedia products for composing and providing context-sensitive, musical performances. These musical performances can be dynamically generated in response to various input parameters, real-time events, and conditions. For instance, in a graphically based adventure game, the background music can change from a happy, upbeat sound to a dark, eerie sound in response to a user entering into a cave, a basement, or some other generally mystical area. Thus, a user can experience the sensation of live musical accompaniment as he engages in a multimedia experience.
U.S. patent application Ser. No. 08/384,668 entitled "Music Composition System for Enhancing a Multimedia Presentation" discloses a music generating device that can be integrated into multimedia products. FIG. 1 is a block diagram of a system incorporating this music generating device. In general, the system includes a composing component, a performance component, a musical instrument interface component and a control component. The system in FIG. 1 illustrates the composing component as a composition engine 14, the performance component as a performance engine 16, the instrument interface component as an MIDI interface 39, and the control component as an arbitrator 12 interacting with an application program 36 and data storage 27. The application program 36 operates to control a multimedia presentation such as a video game or a slide show presentation.
During the multimedia presentation, the arbitrator 12 receives from the application program 36, input parameters and information that can be interpreted for selecting or modifying the shape, style and personality of the musical performance. Based on the interpretation of this information, the arbitrator 12 may access data storage 27 to obtain musical sections and styles (to be defined following) to be passed to performance engine 16. Alternatively, the arbitrator 12 can pass composition parameters to composition engine 14. In response, the composition engine 14 composes musical sections and passes them to performance engine 16 for being performed or to arbitrator 12 for storage.
The performance engine 16 receives musical sections and musical styles as inputs. A musical style contains a series of time-stamped musical data including musical notes, with each note being associated with a specific track or channel number. The time-stamp indicates the order and relative timing for playing the notes. The track or channel number is used to identify a group of notes that are intended for a specific instrument or musical function such as a melodic line. For instance, one track may be associated with the piano part, another track the bass part, and another track the strings part, etc. A musical section includes a chord progression that the musical notes of the musical style are played against.
The performance engine 16, generates a musical sequence (also referred to herein as a sequence of performance notes) based on the input of a musical style and a chord progression in the musical section. The musical sequence identifies the notes to be played by a musical device driven by the performance engine 16. For instance, the musical sequence may contain data to be provided to a musical device through an instrument interface 39 such as a Musical Instrument Digital Interface (MIDI).
During a performance, one of the functions of the performance engine 16, or a similar performance component in a comparable system, is to adjust the pitch of the notes based on the chords of the chord progression that they are being played against. In musical terminology, the notes of each musical track are transposed or mapped to a different pitch when played against various chords. Current techniques allow for the notes of a style to be mapped against a single chord. However, in some instances, it is desirable for notes associated with different tracks to be mapped against different chords. If multiple chords are simultaneously played during a musical performance, this technique would allow the notes to have independent, complex harmonic movements. With complex harmonic movements, the notes of each track in a musical style can be played against a different chord and follow a different chord progression. This results in producing richer harmonic value in the musical performance. However, providing this capability increases the complexity of mapping the notes of a track to the chords in the progression. Thus, there is a need for a system and a method for independently mapping the notes of one or more tracks of a musical style against the chords of a multiple chord progressions.
In some circumstances, it is desirable for the notes associated with one track of a musical style to be mapped against a chord in a different manner than the notes associated with other tracks. For instance, if one track contains notes representing a drum part, then typically, the notes should not be transposed over the course of the chord progression. Transposing the notes of a drum part, for instance, may result in changing a snare drum note into a bongo. Thus, each of the notes of the drum part should be played as their original value. However, if a second track contains a piano accompaniment, it is desirable to transpose the notes of this track to different keys over the course of a chord progression.
Various algorithms or techniques can be used when transposing the notes of a musical style. In the systems defining the current state of the art, the flexibility in mapping the notes of a musical style in various methods are limited. For instance, melodic lines such as the bass part, do not sound proper when mapped to a complex chord that is not defined in equal intervals. However, if the bass part could be mapped to the chord in one manner, while the other tracks are mapped in a different manner, the overall sound of the musical performance can be improved. Thus, there is a need in the art for a system and a method that allows each track of a musical style to be individually associated with a mapping technique.
During a single musical performance, it is desirable to modify the mood or Personality of the musical performance. Generally, these modifications may require a change in the mapping technique of a series of notes within a track. Thus, there is a need in the art for a system and a method that allows groups of notes or even single notes to be individually associated with a mapping technique.
Therefore, there may be seen a need in the art for a system and method for mapping the notes of a musical section against multiple chords and for individual tracks, groups of notes and notes of a musical section to be individually associated with a mapping technique.